package store

import (
	"auth/model"
	"auth/model/entity"
)

type IMenu interface {
	Create(e *entity.Menu) (int64, error)
	Find(id int64) (*entity.Menu, error)
	Update(id int64, updates map[string]interface{}) error
	Delete(id int64) error
	List(in *model.MenuListRequest) (int, []*entity.Menu, error)
	GetBaseMenuTreeMap() ([]*entity.Menu, error)
	FindByParameter(in *model.MenuInfo) (*entity.Menu, error)
	FindByIds(ids []int64) ([]*entity.Menu, error)
	IsExistSameName(menuId int64, name string) error
}
